package br.gov.mi.corporativo.dominio.boundary.comum.pessoafisicaescolaridade;

import java.util.Date;
import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.comum.PessoaFisicaEscolaridade;
import br.gov.mi.corporativo.dominio.repositorio.comum.PessoaFisicaEscolaridadeRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;


@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.pessoafisicaescolaridade.PessoaFisicaEscolaridadeEndPoint")
public class PessoaFisicaEscolaridadeServico extends CrudServicoImpl<PessoaFisicaEscolaridade, Long, PessoaFisicaEscolaridadeRepositorio>  implements PessoaFisicaEscolaridadeEndPoint{

	@Inject
    public void setRepository(PessoaFisicaEscolaridadeRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public PessoaFisicaEscolaridade recuperarPorIdPessoaFisicaEscolaridade(Long idPessoaFisicaEscolaridade) {
		return repositorio.findByIdPessoaFisicaEscolaridade(idPessoaFisicaEscolaridade);
	}

	@Override
	public List<PessoaFisicaEscolaridade> recuperarPorPessoaFisica(Long pessoaFisica) {
		return repositorio.findByPessoaFisica(pessoaFisica);
	}

	@Override
	public List<PessoaFisicaEscolaridade> recuperarPorInstituicaoEnsino(Long instituicaoEnsino) {
		return repositorio.findByInstituicaoEnsino(instituicaoEnsino);
	}

	@Override
	public List<PessoaFisicaEscolaridade> recuperarPorTipoEscolaridade(Long tipoEscolaridade) {
		return repositorio.findByTipoEscolaridade(tipoEscolaridade);
	}

	@Override
	public List<PessoaFisicaEscolaridade> recuperarPorDtInicio(Date dtInicio) {
		return repositorio.findByDtInicio(dtInicio);
	}

	@Override
	public List<PessoaFisicaEscolaridade> recuperarPorDtConclusao(Date dtConclusao) {
		return repositorio.findByDtConclusao(dtConclusao);
	}

}
